package com.antler.smt.service.portal;

import com.antler.smt.enums.ResultCodeEnum;
import com.antler.smt.request.admin.GetPurchaserListReq;
import com.antler.smt.request.portal.PurchaserPersonReq;
import com.antler.smt.response.admin.GetOrderListResp;
import com.antler.smt.response.admin.GetPurchaserListResp;
import com.antler.smt.response.base.Result;
import com.antler.smt.response.portal.GetImgResp;

/**
 *  采购商个人中心接口
 *
 * @author zhangyi
 * @date 2018/3/27 10:18
 */
public interface PurchaserService {

    /**
     * 获取登陆会员的服务商信息
     *
     * @param memberId 会员id
     * @return 采购商
     */
    Result<GetPurchaserListResp> getPurchaserInfo(long memberId);

    /**
     *  修改采购商个人信息
     *
     * @param request
     * @param memberId 当前会员id
     * @return
     */
    Result<ResultCodeEnum> editPurchaserInfo(PurchaserPersonReq request,Long memberId);

    /**
     *  获取其采购商订单列表
     *
     * @param memberId 获取其登陆实体
     * @return
     */
    Result<GetOrderListResp> purchaserOrderList(long memberId);


    /**
     * 获取采购商认证实体
     *
     * @param request
     * @param memberId
     * @param code
     * @return
     */
    Result<ResultCodeEnum> purchaserCertification(GetPurchaserListReq request,Long memberId,String code);

    /**
     * 获取采购商的认证信息
     *
     * @param memberId
     * @return
     */
    Result getCertificationInfo(Long memberId);


    /**
     * 获取采购商的认证信息的营业执照图片
     *
     * @param memberId
     * @return
     */
    Result<GetImgResp> getCertificationImg(Long memberId);


    /**
     * 计算当前采购商距离下次升级的金额
     *
     * @param memberId
     * @return
     */
    Result nextGoUpMoney(Long memberId);

}
